package com.matt.docpro.mapper;

import com.matt.docpro.model.Appointment;
import com.matt.docpro.model.Patient;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

/**
 *
 */
@Mapper
public interface AppointmentMapper {

    List<Appointment> getAll();

    List<Appointment> getByPatId(String patientId);

    List<Appointment> getByDocId(String docId);

    int getPatCountByDocId(String docId);

    List<Patient> getPatByDocId(String docId);

    void setState(String id, String stateId);

    Appointment getById(String id);

    int getCountByDocId(String docId);

    int getCount();

    void update(Appointment appointment);

    void insert(Appointment appointment);

    void deleteById(String id);

    List<Appointment> getAppointmentByDateAndClinic(String date, String clinicId);

    int getAppointmentCount(String date, String clinicId, String docId, int stage);

    int getAppointmentPeriodCount(String date, String clinicId, String docId, int stage, int period);

    int getAppointmentByPatIdAndNgState(String patientId);
}